package com.ego.coupon.service;

import com.ego.common.to.SeckillRespTo;
import com.ego.coupon.to.SeckillSkuInfoTo;
import com.ego.common.vo.coupon.SeckillParam;

import java.util.List;

/**
 * @program: ego
 * @description: 秒杀服务
 * @author: KamTang
 * @create: 2022-12-30 16:19
 **/
public interface SeckillService {
    /**
     * 上架最近秒杀的商品
     */
    void uploadSeckillSku();

    /**
     * 获取近期秒杀商品
     * @return @see
     * @see SeckillSkuInfoTo
     */
    List<SeckillSkuInfoTo> getCurrentSeckillSku();

    /**
     * 获取秒杀商品信息 —— 用于前端展示商品是否参与秒杀
     * @param skuId skuId
     * @return @see
     * @see SeckillSkuInfoTo
     */
    SeckillSkuInfoTo getSeckillSkuBySkuId(Long skuId);

    /**
     * 商品秒杀
     * @param seckillParam @see
     * @return 订单号
     * @see SeckillParam
     */
    SeckillRespTo kill(SeckillParam seckillParam);
}
